/*
 * 请求相关,异步 axios 同步封装
 */


import axios from 'axios';

const request = {}
let host='';

console.log('环境',process.env.NODE_ENV)
if(process.env.NODE_ENV==='development'){
	host='http://localhost:8080/api';
}else if(process.env.NODE_ENV==='product'){
	host='http://172.168.1.70:8080/api';
}

/*
 * opts:请求参数 url,data,datatype,method, 
 * opts:{
	methods:// 请求方式
	url:    // 请求地址
	data:   // 请求参数 
 }
 * 
 * 
 * 
 */

request.globalRequest = (opts) => {
	let data = {};
	let contentType = "application/x-www-form-urlencoded";
	if (opts.type && opts.type == 2) {
		contentType = "application/json";
	}
	if (opts.data != 'undefined') {
		data = opts.data;
	}
	return new Promise((resolve, reject) => {
		axios({
			url:host+opts.url,
			method: opts.methods,
			data:data,
			header: {
				"Content-Type": contentType, 
			},
		}).then(res => {
			resolve(res)  
			//捕获异常，如果什么都不是那就网络异常
		}).catch(err => { 
			reject({msg: '网络异常'})
		})
	})
}

// request.vPost = (opts) => {
// 	let contentType = "application/x-www-form-urlencoded";
// 	if (opts.type && opts.type == 2) {
// 		contentType = "application/json";
// 	}
// 	return new Promise((resolve, reject) => {
// 		uni.request({
// 			url: opts.url,
// 			method: 'post',
// 			data: opts.data,
// 			dataType: 'json',
// 			timeout: 30000,
// 			header: {
// 				"Content-Type": contentType,
// 			 'Cookie': uni.getStorageSync('cookiekey')
// 			},
// 			success: (res) => {
// 				resolve(res);
// 			},
// 			fail: (err) => {
// 				uni.showModal({
// 					content: '网络请求失败，请稍后在试?',
// 					cancelText: '取消',
// 					confirmText: '刷新重试',
// 					success(res) {
// 						if (res.confirm) {

// 						}
// 					}
// 				})

// 				reject(err)
// 			}
// 		})
// 	})
// }

// request.vGet = (opts, type) => {
// 	let contentType = "application/x-www-form-urlencoded";
// 	if (opts.type && opts.type == 2) {
// 		contentType = "application/json";
// 	}
// 	return new Promise((resolve, reject) => {
// 		uni.request({
// 			url: opts.url,
// 			method: 'get',
// 			data: opts.data,
// 			dataType: 'json',
// 			timeout: 30000,
// 			header: {
// 				"Content-Type": contentType,
// 			 'Cookie': uni.getStorageSync('cookiekey')
// 			},
// 			success: (res) => {
// 				resolve(res);
// 			},
// 			fail: (err) => {
// 				uni.showModal({
// 					content: '网络请求失败，请稍后在试',
// 					cancelText: '取消',
// 					confirmText: '刷新重试',
// 					success(res) {
// 						if (res.confirm) {

// 						}
// 					}
// 				})

// 				reject(err)
// 			}
// 		})
// 	})
// }

/*
 * opts:请求参数 url,filePath,name,formData, 
 * opts:{
	filePath(string):// 本地资源路径
	name(string):    // 上传文件键名
	formData(object):   // 其他参数  
 }
 * 
 * 
 * 
 */
// request.uploadFile = (opts) => {
// 	return new Promise((resolve, reject) => {
// 		uni.uploadFile({
// 			url: opts.url,
// 			filePath: opts.filePath,
// 			name: opts.name,
// 			header: {
// 				"Content-Type": "multipart/form-data",
// 				'Cookie': uni.getStorageSync('cookieKey')
// 			},
// 			formData: opts.data,
// 			success: (res) => {
// 				resolve(res);
// 			},
// 			fail: (err) => {
// 				uni.showModal({
// 					content: '网络请求失败，请稍后在试',
// 					cancelText: '取消',
// 					confirmText: '刷新重试',
// 					success(res) {
// 						if (res.confirm) {

// 						}
// 					}
// 				})

// 				reject(err)
// 			}
// 		})
// 	})
// }


export default request
